/**
 * 水印设置界面js
 */
 var fontcolor = "";   //水印字体颜色
 var count = 0;
 var angle = 0;//水印文字倾斜度
 var oDeg = 0;
 (function(){
	
	 /*//加载方向combobox
	 $('#ffx').combobox({
	 	editable:false,
	 	panelHeight : 100,
		valueField : 'id',
		textField : 'name',
		data:[
		      {'id':0,'name':'水平'},
		      {'id':1,'name':'垂直'},
		      {'id':2,'name':'向左倾斜'},
		      {'id':3,'name':'向右倾斜'}
		],
		onLoadSuccess:function(data){
			$('#ffx').combobox('select',data[0].id);
		},
		onSelect:function(record){
			var angle=0;
		 	if (record.name=='水平') {
		 		angle=0;
		 	}else if (record.name=='垂直') {
		 		angle=90;
		 	}else if (record.name=='向左倾斜') {
		 		angle=15;
		 	}else{
		 		angle=345;
		 	}
		 	WatermarkDislay({angle: angle});
		}
	 });*/
	
 	//根据针织方向控制水印文字方向
    var eDeg = 0;
	/*var obj = $('#arrow');
	var oX = obj.offset().left + obj.width()/2;
	var oY = obj.offset().top + obj.height()/2;
	
	//当指针对象点击时执行事件
	obj.mousedown(function(ev){
		ev = ev || window.event;
		console.info(ev.pageX);
		var sDeg = calDeg(pageXY(ev).y, pageXY(ev).x);
		
		document.onmousemove = function (ev){
			
			eDeg = calDeg(pageXY(ev).y, pageXY(ev).x);

			// + 360 是为了消除负角度值
			var _deg = (oDeg + eDeg - sDeg + 360) % 360;
			
			fontRotate('#arrow', _deg);
			
			angle = _deg;
			
	    //调用设置设计水印方法
	     WatermarkDislay({angle: _deg});
        };
		
		document.onmouseup = function (){
			oDeg = (oDeg + eDeg - sDeg + 360) % 360;
            document.onmousemove = null;
        	document.mousedown = null;
        };
		return false;
	});*/
	
	function pageXY(ev){
		ev = ev || window.event;
		var x = ev.pageX - oX;
		var y = ev.pageY - oY;
		return {'x': x, 'y': y};
	}
	
	function calDeg(x, y){
		return - Math.atan2(y, x)/Math.PI * 180;
	}
    
	 //加载字体combobox
	 $('#fzt').combobox({
	 	editable:false,
	 	panelHeight : 100,
		valueField : 'id',
		textField : 'name',
		data:[
		      {'id':0,'name':'宋体'},
		      {'id':1,'name':'黑体'},
		      {'id':2,'name':'微软雅黑'}
		],
		onLoadSuccess:function(data){
			$('#fzt').combobox('select',data[0].id);
		},
		onSelect:function(record){
		 	var fontletter="";
		 	if (record.name=="宋体") {
		 		fontletter="SimSun";
		 	}else if (record.name=="黑体") {
		 		fontletter="SimHei";
		 	}else{
		 		fontletter="Microsoft YaHei";
		 	}
		 	WatermarkDislay({font: fontletter});
		}
	 });
	 
	 //加载位置combobox
	 $('#fwz').combobox({
	 	editable:false,
	 	panelHeight : 100,
		valueField : 'id',
		textField : 'name',
		data:[
		      {'id':0,'name':'平铺'}
		],
		onLoadSuccess:function(data){
			$('#fwz').combobox('select',data[0].id);
		},
		onSelect:function(record){
			var aa="";
			if (record.name=="平铺") {
				
			}
	 	 	//WatermarkDislay({watermark_txt: aa});
	 	 }
	 });
	 
	 //加载滑动条slider
	 $('#slider').slider({
	 	 showTip:true,
	 	 rule:[0,'|',50,'|',100],
	 	 onChange:function(){
	 	 	WatermarkDislay({alpha:$('#slider').slider('getValue')/100});
	 	 }
 	 })
 	 
 	 //创建水印显示
	createWaterMark();
 	 
	//加载颜色选择器
	createColorSelec();
		
	//判断如果从数据库中找出的数据不为空的话 选择原来颜色选择器的默人样式
	if (defaultdata != undefined) {
		$('#preview').removeClass('sp-preview-inner');
		$('#preview').addClass('sp-preview-inner1');
		$('#preview').addClass('sp-thumb-inner1');
	}
	
 })();
 
 //内容textbox发生改变的时候触发事件
 $('#getFwz').textbox({
 	onValidate:function(){
 		WatermarkDislay({text:$('#getFwz').textbox('getText')});
 	}
 })
 
  //大小textbox发生改变的时候触发事件
 $('#getFdx').textbox({
 	onValidate:function(){
 		WatermarkDislay({fontsize:""+$('#getFdx').textbox('getText')+"px"});
 	}
 })
 
  //宽度textbox发生改变的时候触发事件
 $('#getFkd').textbox({
 	onValidate:function(){
 		WatermarkDislay({width:""+$('#getFkd').textbox('getText')+"px"});
 	}
 })
 
  //高度textbox发生改变的时候触发事件
 $('#getFgd').textbox({
 	onValidate:function(){
 		WatermarkDislay({height:""+$('#getFgd').textbox('getText')+"px"});
 	}
 })
 
 //checkbox选中执行事件
 $('input:checkbox').click(function(){
 	var obj=$('input:checkbox[name="fstyle"]');  //获取所有的checkbox对象
 	
 	if (obj[0].checked){ 
 		WatermarkDislay({weight: "bold" });
 	}
 	else{
 		WatermarkDislay({weight: "" });
 	}
 	if (obj[1].checked){
 		WatermarkDislay({shadow: 4 });
 	}else{
 		WatermarkDislay({shadow: 0 });
 	}
 })
 
 
 //水印展示方法
 function WatermarkDislay(settings){
    //获取传入对象的键并判断
    if(arguments.length===1&&typeof arguments[0] ==="object" ){
        var src=arguments[0]||{};
        for(key in src){
		    if (key=="text") { //内容
			    $("div[id^=mask_div").text(src[key]);
		    }
		    if (key=="color") {//颜色
		    	$("div[id^=mask_div").css('color',src[key]);
		    }
		    if (key=="fontsize") {//文字大小
		    	$("div[id^=mask_div").css('font-size',src[key]);
		    }
		    if (key=="alpha") {//透明度
		    	$("div[id^=mask_div").css('opacity',src[key]);
		    }
		    if (key=="font") {//文字样式
		    	$("div[id^=mask_div").css('font-family',src[key]);
		    }
		    if (key=="width") {//宽度
		    	$("div[id^=mask_div").css('height',src[key]);
		    }
		    if (key=="height") {//内容
		    	$("div[id^=mask_div").css('width',src[key]);
		    }
		    if (key=="angle") {   //倾斜度
		    	fontRotate("div[id^=mask_div", src[key]);
		    }
		    if (key=="weight") {//加粗
		    	$("div[id^=mask_div").css('font-weight',src[key]);
		    }
		    if (key=="shadow") {//阴影
			    $("div[id^=mask_div").css('text-shadow',""+src[key]+"px "+src[key]+"px "+src[key]+"px #000000");
		    }
        }
    }
    
 }
 
 //放入全局变量中供调整高度和宽度的时候调用
var defaultdata = "";
 function createWaterMark() {
 	var defaultSettings;
 		//从数据库加载已保存的水印设置
 		if (count == 0) {//如果已经点击了清除  ，不从数据库中加载已有的水印设置
	 		$.ajax({
		 		url : ctx+"/systemMaintenance/CheckWatermark",
		 		dataType : 'json',
		 		async : false,
		 		type : 'post',
		 		success : function(data){
		 			if (data.length>0) {
		 				//将数据库加载出的值填入相应的条件框中
		 				$('#watermark-info').form('load',data[0]);
		 				$('#ffx').combobox('setValue',data[0].FFX);
		 				$('#fzt').combobox('setValue',data[0].FZT);
		 				$('#fwz').combobox('setValue',data[0].FWZ);
		 				$('#slider').slider('setValue',data[0].FTMD);
		 				defaultdata=data[0];
		 				fontcolor = data[0].FYS;
		 				
		 			}
		 		},error : errorPromt
	 		});
 		}
 		
		//判断如果加载出来的水印设置不为空的
 		if (defaultdata != undefined) {
 			var font="";
 			var angle=0;
 			
 			//判断字体
 			if (defaultdata.FZT=="0") {
 				font="SimSun";
 			}else if (defaultdata.FZT=="1") {
 				font="SimHei";
 			}else{
 				font="Microsoft YaHei";
 			}
 			oDeg = defaultdata.FFX;
 			//数据库水印设置
 			defaultSettings={
 				text : defaultdata.FNR,
				x:50,//水印起始位置x轴坐标
				y:50,//水印起始位置Y轴坐标
				rows:15,//水印行数
				cols:15,//水印列数
				x_space:100,//水印x轴间隔
				y_space:100,//水印y轴间隔
				color:defaultdata.FYS,
				alpha : defaultdata.FTMD/100,
				fontsize:""+defaultdata.FDX+"px",
				font:font,
				width:defaultdata.FKD,
				height:defaultdata.FGD,
				angle:defaultdata.FFX
 			}
 		}else{ //默认设置
 			fontcolor="#ffffff";
 			defaultSettings={
				text:"",
				x:50,//水印起始位置x轴坐标
				y:50,//水印起始位置Y轴坐标
				rows:15,//水印行数
				cols:15,//水印列数
				x_space:100,//水印x轴间隔
				y_space:100,//水印y轴间隔
				color:'#ffffff',//水印字体颜色
				alpha:0,//水印透明度
				fontsize:'0px',//水印字体大小
				font:'SimSun',//水印字体
				width:0,//水印宽度
				height:0,//水印长度
				angle:0//水印倾斜度数
			};
 		}
 		//加载水印(图片id，显示divid，默认设置，默认数据)
//		DesignWaterMark("img","leftdiv",defaultSettings,defaultdata);
		
		var oTemp = document.createDocumentFragment();
		
			//获取图片最大宽度
		var page_width = $('#img').width();
		//获取图片最大长度
		var page_height = $('#img').height()!=0? $('#img').height(): $('#layout-height').height();
		
		//如果将水印列数设置为0，或水印列数设置过大，超过页面最大宽度，则重新计算水印列数和水印x轴间隔
		if (defaultSettings.cols == 0 ||(parseInt(defaultSettings.x + 80 *defaultSettings.cols+ defaultSettings.x_space * (defaultSettings.cols - 1)) 
		> page_width)) {
			defaultSettings.cols =parseInt((page_width-defaultSettings.x+defaultSettings.x_space) / (80 
		    					+ defaultSettings.x_space));
			defaultSettings.x_space = parseInt((page_width - defaultSettings.x - 80 * defaultSettings.cols) / (defaultSettings.cols - 1));
		}
		//如果将水印行数设置为0，或水印行数设置过大，超过页面最大长度，则重新计算水印行数和水印y轴间隔
		if (defaultSettings.rows == 0 ||(parseInt(defaultSettings.y + 20 * defaultSettings.rows 
		+ defaultSettings.y_space * (defaultSettings.rows - 1)) > page_height)) {
			defaultSettings.rows = parseInt((defaultSettings.y_space + page_height - defaultSettings.y)/ (20 + defaultSettings.y_space));
			defaultSettings.y_space = parseInt((page_height - defaultSettings.y - 20* defaultSettings.rows) / (defaultSettings.rows - 1));
		}
		var x;
		var y;
		for (var i = 0; i < defaultSettings.rows; i++) {
			y = defaultSettings.y + (defaultSettings.y_space + 20) * i;
			for (var j = 0; j < defaultSettings.cols; j++) {
				x = defaultSettings.x + (80 + defaultSettings.x_space) * j;
				
				var mask_div = document.createElement('div');
				mask_div.id = 'mask_div' + i + j;
				mask_div.appendChild(document.createTextNode(defaultSettings.text));
				
				mask_div.style.visibility = "";
				mask_div.style.position = "absolute";
				
				if (j != 0) {
					mask_div.style.left = x + 'px';
				}
				mask_div.style.top = y + 'px';
				mask_div.style.overflow = "hidden";
				mask_div.style.zIndex = "99";
//				mask_div.style.border="solid #eee 1px";
				mask_div.style.opacity = defaultSettings.alpha;
				mask_div.style.fontSize = defaultSettings.fontsize;
				mask_div.style.fontFamily = defaultSettings.font;
				mask_div.style.color = defaultSettings.color;
				mask_div.style.textAlign = "center";
				mask_div.style.width = defaultSettings.width + 'px';
				mask_div.style.height = defaultSettings.height + 'px';
				mask_div.style.display = "block";
				oTemp.appendChild(mask_div);
			};
		};
		//将所有的水印div显示在 对应的div上面
		$(oTemp).appendTo($('#leftdiv'));
		
		//加载倾斜度方法
		fontRotate("div[id^=mask_div", defaultSettings.angle);
		
		
		//改变箭头倾斜
		//fontRotate('#arrow', defaultSettings.angle);
		
		//判断从数据库加载出的数据是否为空
		if (defaultdata != undefined){
	 		if (defaultdata.FJC==1) {
				$("div[id^=mask_div").css('font-weight','bold');
			}
			if (defaultdata.FYY==1) {
				$("div[id^=mask_div").css('text-shadow',"4px 4px 4px #000000");
			}
		}
		
		//判断如果加粗和阴影选中执行的操作
		if (defaultdata != undefined){
	 		if (defaultdata.FJC==1) {
				$('input:checkbox[name="fstyle"]').eq(0).prop('checked',true); //设置加粗选中
			}
			if (defaultdata.FYY==1) {
				$('input:checkbox[name="fstyle"]').eq(1).prop('checked',true);//设置阴影选中
			}
	 		if (defaultdata.FISUSE==1) {
				$('input:checkbox[name="isuse"]').prop('checked',true);//设置"病案打印需要水印"选中
			}
		}
		//水印方向
		initRotate(defaultSettings.angle);
 }
 
 /**
  * 水印方向
  */
 function initRotate(_angle){
		var value = _angle+90;
		jQuery("#img_rotate").rotate({
			angle:value,
			bind:{
			    click: function(){
			      jQuery(this).rotate({ animateTo:value+10});
			      value =(value+5) % 360;
			      WatermarkDislay({angle: value-90});
			    },
			    mouseover:function(ev){//鼠标滑过事件
			    	/*jQuery(this).rotate({ animateTo:value+5});
				    value =(value+5) % 360;
				    WatermarkDislay({angle: value-90});*/
			    },
			    mousedown:function(){//鼠标按下事件
			    	jQuery(this).rotate({ animateTo:value+5});
				    value =(value+5) % 360;
				    WatermarkDislay({angle: value-90});
			    },
			    mouseup:function(){
			    	//jQuery(this).rotate({ animateTo:value+5});
				    //value =(value+5) % 360;
				    //WatermarkDislay({angle: value-90});
			    }
			}
		});
		
		document.body.onmousewheel = function(event) {//滑轮事件
		    event = event || window.event;
		    var down = true; // 定义一个标志，当滚轮向下滚时，执行一些操作
	         down = event.wheelDelta?event.wheelDelta<0:event.detail>0;
		     if(down){
		     	jQuery("#img_rotate").rotate({ animateTo:value+5});
			    value =(value+5) % 360;
			    WatermarkDislay({angle: value-90});
		     }else{
		     	jQuery("#img_rotate").rotate({ animateTo:value+5});
			    value =(value-5) % 360;
			    WatermarkDislay({angle: value-90});
		     }
		     if(event.preventDefault){/*FF 和 Chrome*/
		    	 event.preventDefault();// 阻止默认事件
		     }
		};
 }
 
 //保存水印
 function SaveWatermark(){
 	var fnr=$('#getFwz').val();  //水印文字
 	var fdx=$('#getFdx').val();  //水印大小
 	
 	var obj=$('input:checkbox[name="fstyle"]');  //获取所有的checkbox对象
 	var weight=0;   //默认未加粗
 	var shadow=0;	//默认未阴影
 	if (obj[0].checked){ //选中加粗
 		weight=1;
 	}
 	if (obj[1].checked){ //选中阴影
 		shadow=1;
 	}
 	var alpa=$('#slider').slider('getValue');//('getValue');
 	var obj1=$('input:checkbox[name="isuse"]');
 	var isuse=0;  //默认“病案打印需要水印”复选框未选中
 	if (obj1.checked) {
 		isuse=1;
 	}
 	
 	if (""==fnr || fnr==null || ""==fdx || fdx==null) {
 		$.messager.alert('提示','请先输入水印文字内容和文字大小','info');
 		return;
 	}
 	//获取按钮的位置
	var top = $("#save-Watermark").offset().top + 40;
	var left = $("#save-Watermark").offset().left;
 	$.ajax({
 		url : ctx+"/systemMaintenance/SaveWatermark",
 		dataType : 'json',
 		type : 'post',
 		data : $('#watermark-info').serialize()+"&weight="+weight+"&shadow="+shadow+"&isuse="+isuse+"&alpa="+alpa+"&color="+fontcolor+"&angle="+angle,
 		success : function(data){
 			if (data) {
/*				$('#open-successDia').window('open').window('resize',{width:'250px',height:'100px',top: top,left:left});
				$('#show-sucessinfo').text('保存成功');
				setTimeout("$('#open-successDia').dialog('close')",2000);*/
 				$.messager.alert('提示','保存成功','info');
 				return;
 			}else{
/* 				$('#open-successDia').window('open').window('resize',{width:'250px',height:'100px',top: top,left:left});
				$('#show-sucessinfo').text('保存失败');
				setTimeout("$('#open-successDia').dialog('close')",2000);*/
 				$.messager.alert('提示','保存失败','info');
 				return;
 			}
 		},error : errorPromt
 	})
 }
 
 
 //清除水印
 function ClearWatermark(){
	$('#getFwz').textbox('setText','');
	$('#getFkd').textbox('setText',0);
	$('#getFgd').textbox('setText',0);
	$('#getFdx').textbox('setText',0);
	$('#slider').slider('setValue',0);
	$("input:checkbox").prop('checked',false);
	$('#fwz').combobox('select',0);
	$('#fzt').combobox('select',0);
	$('#ffx').combobox('select',0);
	count ++;
	$("div[id^=mask_div").remove();  //清空所有原来创建的div水印
	
	//重新设置颜色一栏的颜色
	$('#preview').addClass('sp-preview-inner');
	$('#preview').removeClass('sp-preview-inner1');
	$('#preview').removeClass('sp-thumb-inner1');
	
	fontcolor="#ffffff";   //设置颜色选择器的默认设置
	
	createColorSelec();    //重新加载水印的设置方法
	
	defaultdata = undefined;   //重新给从数据库加载出来的数据赋值为 undefined
	
	createWaterMark();//重新加载新的水印(不从数据库重新加载)
 }
 
  //显示问题倾斜度方法
 function fontRotate(obj, rotate){
 	angle = rotate;//将角度重新赋值给全局变量文字角度
 	
 	$(obj).css('transform' , 'rotate(' + rotate + 'deg)'); //默认
 	$(obj).css('-ms-transform','rotate(' + rotate + 'deg)');          /* IE 9 */
 	$(obj).css('-moz-transform','rotate(' + rotate + 'deg)');         //firefox
	$(obj).css('-webkit-transform' , 'rotate(' + rotate + 'deg)');    /* Safari and Chrome */
	$(obj).css('-o-tranform' , 'rotate(' + rotate + 'deg)');          //opera
	
	//一下采用滤镜方式实现ie8及以下兼容倾斜
	var M11 = Math.cos(rotate * (Math.PI / 180));  
	var M12 = -Math.sin(rotate * (Math.PI / 180));  
	var M21 = Math.sin(rotate * (Math.PI / 180));  
	var M22 = Math.cos(rotate * (Math.PI / 180));    
	var rot = rotate * (Math.PI / 180);  var Dx=0, Dy=0;
	
	//mask_div.style['filter'] = "progid:DXImageTransform.Microsoft.Matrix(Dx="+Dx+",Dy="+Dy+",M11=" + M11 + ",M12=" + M12 + ",M21=" + M21 + ",M22=" + M22 + ",SizingMethod='auto expand')";
	$(obj).css('filter' , "progid:DXImageTransform.Microsoft.Matrix(Dx="+Dx+",Dy="+Dy+",M11=" + M11 + ",M12=" + M12 + ",M21=" + M21 + ",M22=" + M22 + ",SizingMethod='auto expand')");
 }
 
 //创建颜色控件方法
 function createColorSelec(){
	 //动态加载颜色选择器
	 $.getScript(ctx+'/script/jquery/plug/jqueryColour/docs/docs.js',function(){});
 }